/**
 * Created by Administrator on 2018/03/08/0024.
 */
//日期转换（时间戳转日期）
Date.prototype.Format = function (fmt) { //author: meizz
    var o = {
        "M+": this.getMonth() + 1, //月份
        "d+": this.getDate(), //日
        "h+": this.getHours(), //小时
        "m+": this.getMinutes(), //分
        "s+": this.getSeconds(), //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}
var SfMet = null;
var startTime = null;       //开始时间，表格导出数据使用
var endTime = null;         //结束时间，表格导出数据使用
var farmName = null;       //电场名称，表格导出数据使用
var fileName = null;
$(function () {
    dateTiemSelect();//初始化日期格式
    $("#query").click(function () {
        if($("#startTime").val()===""){
            layer.msg("输入开始时间！", {icon: 2});
            $("#endTime").val("");
        }
        var startTime = new Date($("#startTime").val().replace(/\-/g, "\/"));
        var endTime = new Date($("#endTime").val().replace(/\-/g, "\/"));
        if(startTime >=endTime){
            layer.msg("开始时间不能大于结束时间！", {icon: 2});
            $("#startTime").val("");
            $("#endTime").val("");
            return false;
        }else {
            load();
        }
    })
    var aa = $('#selectFarm', window.parent.document).find("option:selected").text();
    console.log(aa);
    //  fileName = aa.substring(31,aa.length);
    // console.log(fileName);
    startTime = $("#startTime").val();
    endTime = $("#endTime").val();

    var table = new tableFactory(startTime,endTime,aa);
    //setTimeout('real()',10000);
})

//点击查询，加载数据
//输入框设置主题。

function dateTiemSelect(){
    layui.use('laydate', function(){
        var laydate = layui.laydate;
        laydate.render({
            elem: '#startTime', //新增的日期
            type: 'date',//日期类型date表示年月日
            /*  trigger: 'click',//如果绑定的元素非输入框，则默认事件为：click*/
            theme: '#2a2a48',//自定义主题
            min: '2014-1-1',//限制最小日期
            max: '2029-12-31'//限制最大日期
        });
        laydate.render({
            elem: '#endTime', //新增的日期
            type: 'date',
            theme: '#2a2a48',//自定义主题
        });
    });
}
//初始化加载曲线跟表格数据
function load(){
    var index = layer.load(1);
    var date = new Array();//观测时间
    var totalradiation =new Array();//总辐射
    var directradiation =new Array();//直接辐射
    var scatterdradiation =new Array();//散射辐射
    var farmid = $('#selectFarm', window.parent.document).val();//获取父页面的元素
    var p = {
        "startTime":$("#startTime").val(),
        "endTime":$("#endTime").val(),
        "farmid":farmid
    };

    $.ajax({
        url : "../radiationLiveManage/getSFLive",
        type : "get",
        contentType : "application/json",
        dataType : "json",
        data : p/*JSON.stringify(p)*/,//转换成字符串。后台使用了RequestBody注解
        success : function(data) {
            $.each(data.listSfMetSk, function (index, item) {
                var time = new Date(parseInt(item.observetime)).Format("yyyy-MM-dd hh:mm");
                if(item.totalradiation!=null){
                    totalradiation.push({name:time,value:[time,item.totalradiation.toFixed(2)]});//预报辐照度
                }
                if(item.directradiation!=null){
                    directradiation.push({name:time,value:[time,item.directradiation.toFixed(2)]});//预报辐照度
                }
                if(item.scatterdradiation!=null){
                    scatterdradiation.push({name:time,value:[time,item.scatterdradiation.toFixed(2)]});//预报辐照度
                }

            });

            $("#radiationLive").bootstrapTable("load", data.listSfMetSk);
            lodaTu(totalradiation,directradiation,scatterdradiation);
            layer.close(index);
        }
    });
}

//表格工厂
function tableFactory(startTime,endTime,fileNames) {
    var me = this;
    me.data = null;//有功功率
    me.windData = null;//电站信息
    var init = function () {
        //$.when(me.getWindData()).then(function () {
        $("#radiationLive").bootstrapTable({
            method: 'get',				  //请求方式（*）
            striped: true,					  //是否显示行间隔色
            cache: false,					   //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,				   //是否显示分页（*）
            sortable: true,					 //是否启用排序
            sortOrder: "desc",				   //排序方式
            sidePagination: "client",		   //分页方式：client客户端分页，server服务端分页（*）
            pageNumber: 1,					   //初始化加载第一页，默认第一页
            search: true,					   //是否显示表格搜索，只能进行客户端搜索
            strictSearch: false,                //true为全匹配，false为模糊查询
            showColumns: true,				  //是否显示筛选列按钮
            showRefresh: true,			  //是否显示刷新按钮
            clickToSelect:true,				//是否启用点击选中行
            showToggle: false,					//是否显示详细视图和列表视图的切换按钮
            cardView: false,					//是否显示详细视图
            detailView: false,				   //是否显示父子表
            singleSelect: true,                //是否支持多选,false表示支持多选，true表示不支持
            //undefinedText: '_',              //当数据为undefined时显示的字符
            height: 'auto',
            pageSize: 20,
            pageList: [5,20,30],
            editable:true,//是否可以行内编辑
            showExport: true,//是否显示导出按钮
            exportDataType:'all',//导出全部
            exportTypes:[  'csv'], //导出文件类型
            export: 'glyphicon-export icon-share',
            exportOptions:{
                // ignoreColumn: [0,1],  //忽略某一列的索引
                fileName:startTime+"_"+endTime+"_"+fileNames,  //文件名称设置
                // worksheetName: 'sheet1',  //表格工作区名称
                // tableName: '总台帐报表',
                //  excelstyles: ['background-color', 'color', 'font-size', 'font-weight'],
                // onMsoNumberFormat: DoOnMsoNumberFormat
            },
            columns: [{
                title: '时间',
                field: 'observetime',
                sortable: true,//排序
                align: 'center',
                valign: 'middle',
                formatter: function (value, row, index) {
                    return new Date(parseInt(value)).Format("yyyy-MM-dd hh:mm");
                }
            },{
                title: '总辐射(W/㎡)',
                field: 'totalradiation',
                align: 'center',
                valign: 'middle',
                formatter: function (value, row, index) {
                    if(value == null){
                        return "-";
                    }else {
                        return value.toFixed(2);
                    }
                }
            }, {
                title: '直接辐射(W/㎡)',
                field: 'directradiation',
                align: 'center',
                valign: 'middle',
                formatter: function (value, row, index) {
                    if(value == null){
                        return "-";
                    }else {
                        return value.toFixed(2);
                    }
                }
            },
            {
                title: '散射辐射(W/㎡)',
                field: 'scatterdradiation',
                align: 'center',
                valign: 'middle',
                formatter: function (value, row, index) {
                    if(value == null){
                        return "-";
                    }else {
                        return value.toFixed(2);
                    }
                }
            }
            ]
        });
        load();
        // });
    }
    init();
}
tableFactory.prototype = {
    loadData: function () {
        var me = this;
        var index = layer.load(1);
        $.getJSON('../shortPeriodManage/selectAll', '', function (_data) {
            me.data = _data;
            $("#historicalData").bootstrapTable("load", _data);
            layer.close(index);
        })
    },
    //加载电站信息
    getWindData:function () {
        var me = this;
        $.getJSON('../windManage/selectAll', '', function (_data) {
            me.WindData = _data;
        })
    },
    getWindById: function (farmid) {
        var farmName = '';
        var me = this;
        $.each(me.WindData, function (index, item) {
            if (item.farmid === farmid) {
                farmName = item.farmname;
                return false;
            }
        });
        return farmName;
    },
    /*获取实况辐照*/
    getSfMet:function (time) {
        var totalradiation="";
        if(SfMet.length>0){
            $.each(SfMet, function (index, item) {
                var SfMetSkTime = new Date(parseInt(item.observetime)).Format("yyyy-MM-dd hh:mm")
                if(SfMetSkTime==new Date(parseInt(time)).Format("yyyy-MM-dd hh:mm")) {
                    if(item.totalradiation!=null){
                        totalradiation = item.totalradiation.toFixed(2);
                    }else {
                        totalradiation = "-";
                    }
                    return false;
                }
            });
            return totalradiation;
        }
    },


}

function lodaTu(totalradiation,directradiation,scatterdradiation) {
    var myChart = echarts.init(document.getElementById("main"));
    //vapp.title = '多 X 轴示例';
    var colors = [ '#FFFF00','#FFFF00','#6eb2ff'];
    option = {
        // backgroundColor: '#2a2a48',//背景色
        color: colors,
        tooltip: {
            trigger: 'axis'
        },
        legend: {
            show:true,
            icon: 'rect',
            itemWidth: 25,
            itemHeight: 3,
            itemGap: 13,
            data: ['总辐射', '直接辐射','散射辐射'],
            textStyle: {
                fontSize: 12,
                fontWeight:'bolder',
                color: '#fff'
            }
        },
        toolbox: {
            show: true,
            feature: {
                /*mark: {show: true},
                dataZoom: {show: true},
                dataView: {show: true},
                magicType: {show: true, type: ['line', 'bar', 'stack', 'tiled']},
                restore: {show: true},*/
                saveAsImage: {show: true}
            }
        },
        calculable: false,//取消拖拽
        dataZoom: {
            show: true,
            realtime: true,
            start: 0,
            end: 100
        },
        xAxis: [
            {
                //interval:0,//X轴的刻度间隔
                splitLine:{show: false},//去除网格线
                type: 'time',
                boundaryGap:true,
                //data: date,
                axisLabel:{
                    formatter: '{value}',
                    textStyle:{
                        fontWeight:"bolder",
                        color:"#fff"
                    }
                }
            }
        ],
        yAxis: [

            {
                splitLine:{show: false},//去除网格线
                name: '辐照度(W/㎡)',
                nameTextStyle:{
                    color:'#fff'
                },
                type: 'value',
                axisLabel:{
                    formatter: '{value}',
                    textStyle:{
                        fontWeight:"bolder",
                        color:"#fff"
                    }
                }
            }
        ],
        series: [
            {
                name: '总辐射',
                type: 'line',
                yAxisIndex: 0,
                symbol:'none',  //这句就是去掉点的
                data: totalradiation,
                itemStyle: {
                    normal: {
                        color:'#A52A2A',
                    }
                },
            },{
                name: '直接辐射',
                type: 'line',
                yAxisIndex: 0,
                symbol:'none',  //这句就是去掉点的
                data:directradiation,
                itemStyle: {
                    normal: {
                        color:'#248f35',
                    }
                },
            },
            {
                name: '散射辐射',
                type: 'line',
                yAxisIndex: 0,
                symbol:'none',  //这句就是去掉点的
                data: scatterdradiation,
                itemStyle: {
                    normal: {
                        color:'#4a6ab5',
                    }
                },
            }

        ]
    };
    myChart.setOption(option);
}
/*function real(){
    window.location.reload();
}*/




